Software Architecture Evolution
نویسندگان
چکیده
Many software systems eventually undergo changes to their basic architectural structure. Such changes may be prompted by new feature requests, new quality attribute requirements, changing technology, or other reasons. Whatever the causes, architecture evolution is commonplace in real-world software projects. Today’s software architects, however, have few techniques to help them plan such evolution. In particular, they have little assistance in planning alternatives, making trade-offs among these different alternatives, or applying best practices for particular domains. To address this, we have developed an approach for assisting architects in planning and reasoning about software architecture evolution. Our approach is based on modeling and analyzing potential evolution paths that represent different ways of evolving the system. We represent an evolution path as a sequence of transitional architectural states leading from the initial architecture to the target architecture, along with evolution operators that characterize the transitions among these states. We support analysis of evolution paths through the definition and application of constraints that express rules governing the evolution of the system and evaluation functions that assess path quality. Finally, a set of these modeling elements may be grouped together into an evolution style that encapsulates a body of knowledge relevant to a particular domain of architecture evolution. We evaluate this approach in three ways. First, we evaluate its applicability to real-world architecture evolution projects. This is accomplished through case studies of two very different software organizations. Second, we undertake a formal evaluation of the computational complexity of verifying evolution constraints. Finally, we evaluate the implementability of the approach based on our experiences developing prototype tools for software architecture evolution.
منابع مشابه
An Analytical Study of the Evolution of Qajar Palaces
The political and social system involved in the limbo between tradition and modernity of the Qajar Era caused widespread and quick developments in Iranian culture, art, and architecture as well as a challenge between tradition and modernity. Relatively numerous palaces built in this era were signs of greatness and distinction-seeking of the Qajar kings and aristocrats, who embraced all transfor...
متن کاملArchitecture-Centric Evolution in Software Product Lines: Position Paper
This paper describes how an architecture-centric evolution approach can be used to develop and evolve software product line architectures. The architecturecentric evolution approach described in this paper uses a model driven architecture concept in which UML models of the software architecture are developed prior to implementation and later evolved after original deployment.
متن کاملArchitecture-Based Planning of Software Evolution
Software architecture allows us to make many decisions about a software system and analyze it even before it has been implemented, so as to make planned development possible. Similarly, architecture-based software evolution planning makes planned evolution possible by allowing us to make many decisions about the evolution of a software system and to analyze its evolution at the level of archite...
متن کاملHistorical Evolution of Qajar House of Baqeri in Gorgan
Iranian historical houses constitute a significant part of the architectural heritage of the country both qualitatively and quantitatively though due research is not conducted on them. This study investigates t0he physical evolution of Qajar House of Baqeri in Gorganand attempts to monitor life stream over its lifespan. The study also investigates the effect of external transformations on archi...
متن کاملEvolution in Software Product Lines
Product-line architectures, i.e. a software architecture and component set shared by a family of products, represents a promising approach to achieving reuse of software. Several companies are initiating or have recently adopted a product-line architecture. However, little experience is available with respect to the evolution of the products, the software components and the software architectur...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013